Low power and Lossy Networks (LLNs), e.g., sensor networks, have a myriad of applications, such as Smart Grid and Smart Cities. Various challenges are presented with LLNs, such as lossy links, low bandwidth, battery operation, low memory and/or processing capability, etc. One example routing solution to LLN challenges is a protocol called Routing Protocol for LLNs or “RPL,” which is a distance vector routing protocol that builds a Destination Oriented Directed Acyclic Graph (DODAG, or simply DAG) in addition to a set of features to bound the control traffic, support local (and slow) repair, etc. The RPL architecture provides a flexible method by which each node performs DODAG discovery, construction, and maintenance.
Notably, RPL (and other distance vector protocols) supports two modes of operation: storing and non-storing. When the traffic is mostly point-to-multipoint (P2MP) or multipoint-to-multipoint (MP2MP), non-storing mode, which relies on hop-by-hop routing in the UPSTREAM direction of the DAG and source routing in the DOWNSTREAM direction (since nodes do not store routing states) is perfectly appropriate. On the other hand, it may be sub-optimal for point-to-point (P2P) traffic between arbitrary nodes in the network. Indeed for each packet between a node “A” and a node “B” in the network domain (e.g., LLN), the traffic flow has to transit through a root node of the DAG (e.g., an LLN border router or “LBR”), thus increasing the path cost, delays, and increasing traffic congestion closer to the root.